package com.operator.Activitys.http.api;


import com.operator.Activitys.bean.HomeMenu;
import com.operator.Activitys.bean.Iccid;
import com.operator.Activitys.bean.ImageText;
import com.operator.Activitys.bean.InspectUpdateBean;
import com.operator.Activitys.bean.Install;
import com.operator.Activitys.bean.OrderState;
import com.operator.Activitys.bean.PrettySign;
import com.operator.Activitys.bean.Sale;
import com.operator.Activitys.bean.State;
import com.operator.Activitys.bean.Supply;
import com.operator.Activitys.bean.SupplyType;
import com.operator.Activitys.bean.User;

import java.util.List;

import retrofit2.http.POST;
import retrofit2.http.Query;
import rx.Observable;

/**
 * 项目名称：
 * 类描述：User 接口 API
 * 创建人：张飞祥
 * 创建时间：2017/11/24  上午 10:33
 * 修改人：张飞祥
 * 修改时间：2017/11/24  上午 10:33
 * 修改备注：
 */
public interface HomeAPI {

    //检查更新接口
    @POST("AppInfo/GetAppLatestVersionInfo")
    Observable<InspectUpdateBean> inspectUpdateApp (@Query("Type") String appType);

    //TODO 轮播图请求
    @POST("Banner/AppLoadBannerInfo")
    Observable<List<ImageText>> homeBanner();

    //TODO 广告请求
    @POST("AdInfo/AppLoadAdInfo")
    Observable<List<ImageText>> homeAdInfo();

    //TODO 功能栏请求
    @POST("Palette/AppGetPaletteInfo")
    Observable<List<HomeMenu>> homeMenu();

    //TODO ICCID下拉列表信息获取
    @POST("CarpiStock/AppLoadICCIDInfo")
    Observable<List<Iccid>> homeIccidList(@Query("Carrieroperator") String carrieroperator,
                                          @Query("StroreId") int stroreId,@Query("PhoneNum") String phoneNum);

    //TODO 宽带安装
    @POST("BroadbandInfo/AppLoadBroadInfo")
    Observable<List<Install>> homeInstall(@Query("BroadbandCategory") String broadbandCategory);

    //TODO 宽带安装 信息提交
    @POST("BroadbandOrderInfo/AppSubmitBroadBandOrderInfo")
    Observable<OrderState> homeInstallSubmit(
    @Query("StoreId") int storeId,@Query("BroadBandInfoId") int broadBandInfoId,
    @Query("BroadbandInfoTitle") String broadbandInfoTitle,@Query("BroadbandCategory") String broadbandCategory,
    @Query("InstallAddress") String installAddress, @Query("CustomerName") String customerName, @Query("LinkTel") String linkTel,
    @Query("IDCardNum") String IDCardNum, @Query("Account") String account,@Query("AppointmentTime") String appointmentTime,
    @Query("InstallType") String installType,@Query("Price") double price,
    @Query("IdCardBackImgUrl") String IdCardBackImgUrl,@Query("IdCardFrontImgUrl") String IdCardFrontImgUrl,@Query("PeoPleImgUrl") String peoPleImgUrl,
    @Query("remark") String remark,@Query("Addr") String addr, @Query("birthday") String birthday,@Query("Exp") String exp,
    @Query("IssuingUnit") String issuingUnit,@Query("Nation") String nation,@Query("Sex") String sex);

    //TODO 号卡销售 ----> 获取号卡列表
    @POST("PhoneNumInfo/AppLoadPhoneInfo")
    Observable<List<Sale>> homeSaleList(
    @Query("carrieroperator") String carrieroperator,@Query("StoreId") int storeId,
    @Query("NumType") String numType,@Query("pageIndex") int pageIndex,@Query("pageSize") int pageSize);

    //TODO 靓号专区 ----> 获取号卡列表
    @POST("GoodPhoneNumInfo/AppLoadGoodNumSet")
    Observable<List<PrettySign>> homePrettyList(
    @Query("carrieroperator") String carrieroperator,@Query("StoreId") int storeId,
    @Query("NumType") int numType,@Query("pageIndex") int pageIndex,@Query("pageSize") int pageSize);

    //TODO 电话卡订单 信息提交 ------> 联通、170
    @POST("TelCardOrder/AppSubmitTelOrderInfo")
    Observable<OrderState> homeUnciomSubmit(
            @Query("StoreId") int storeId,@Query("TelephoneSetTitle") String telephoneSetTitle,
            @Query("CustomerName") String customerName, @Query("Price") double price, @Query("Remark") String remark,
            @Query("Carrieroperator") String carrieroperator,@Query("TelNumber") String telNumber, @Query("IDCardNum") String IDCardNum,
            @Query("ICCID") String iccid, @Query("IsPrettySign") String isPrettySign, @Query("Addr") String addr,
            @Query("birthday") String birthday,@Query("Exp") String exp,@Query("IssuingUnit") String IssuingUnit, @Query("Nation") String nation,
            @Query("Sex") String sex, @Query("IdCardBackImgUrl") String IdCardBackImgUrl,@Query("IdCardFrontImgUrl") String IdCardFrontImgUrl,
            @Query("PeoPleImgUrl") String peoPleImgUrl,@Query("MailingAddress") String mailingAddress);

    //TODO 电话卡订单 信息提交 ------> 电信、移动
    @POST("TelCardOrder/AppSubmitTelOrderInfo")
    Observable<OrderState> homeTelecomSubmit(
            @Query("StoreId") int storeId,@Query("TelephoneSetTitle") String telephoneSetTitle,
            @Query("Carrieroperator") String Carrieroperator, @Query("TelNumber") String telNumber,
            @Query("ICCID") String iccid,@Query("IsPrettySign") String isPrettySign,
            @Query("Remark") String remark,@Query("Price") double price);

    //TODO 添加通讯供求
    @POST("RFIs/AppAddRFIs")
    Observable<State> homeAddSupply(
    @Query("RFIsTypeId") String RFIsTypeId,@Query("Content") String content,@Query("StoreId") int storeId,
    @Query("ImgSrc1") String ImgSrc1, @Query("ImgSrc2") String ImgSrc2,
    @Query("ImgSrc3") String ImgSrc3, @Query("ImgSrc4") String ImgSrc4,
    @Query("ImgSrc5") String ImgSrc5, @Query("ImgSrc6") String ImgSrc6);

    //TODO 删除某一条通讯供求 信息
    @POST("RFIs/AppDelRFIs")
    Observable<State> homeDelSupply(
    @Query("RFIsId") int RFIsId,@Query("StoreId") int storeId);

    //TODO 获取通讯供求分类
    @POST("RFIsType/AppGetRFIsTypeInfo")
    Observable<List<SupplyType>> homeSupplyType();

    //TODO 获取通讯供求信息
    @POST("RFIs/AppGetRFIs")
    Observable<List<Supply>> homeSupplyList(
    @Query("StoreId") int storeId,@Query("RFIsTypeId") String RFIsTypeId,@Query("searchInput") String searchInput,
    @Query("pageIndex") int pageIndex,@Query("pageSize") int pageSize);


    //TODO 根据 店铺 名称 获取 店铺信息
    @POST("StoreInfo/AppGetStoreInfoByStoreName")
    Observable<User> homeSupplyDetails(@Query("storeName") String storeName);

}
